package org.boot.wxipad.support.api;

import org.boot.wxipad.common.error.WxIpadErrorException;
import org.boot.wxipad.common.service.WxIpadHttpService;
import org.boot.wxipad.common.util.http.RequestExecutor;
import org.boot.wxipad.support.config.WxIpadConfigStorage;

/**
 * @author liyuncong
 * @version 1.0
 * @file WxIpadService
 * @brief 微信IPAD服务接口
 * @details 微信IPAD服务接口
 * @date 2024-08-05
 *
 * Edit History
 * ----------------------------------------------------------------------------
 * DATE                     NAME               DESCRIPTION
 * 2024-08-05               liyuncong          Created
 */

public interface WxIpadService extends WxIpadHttpService {

    <T, E> T execute(RequestExecutor<T, E> executor, String uri, E data) throws WxIpadErrorException;

    WxIpadConfigStorage getWxIpadConfigStorage();

    void setWxIpadConfigStorage(WxIpadConfigStorage configStorage);

    void initHttp();


    WxIpadFriendService getFriendService();
}
